import compileToFunction from './compileToFunction.js'
import mountComponent from './mountComponent.js'

/*
 * @Author: zengwj
 * @Date: 2022-08-10 16:43:48
 * @LastEditors: zengwj
 * @LastEditTime: 2022-08-11 17:34:38
 * @Description:
 */
export default function mount(vm) {
	// 没有提供render 选项，编译生成render函数
	if (!vm.$options.render) {
		let template = ''
		//模板存在
		if (vm.$options.template) {
			template = vm.$options.template
		} else if (vm.$options.el) {
			// 存在挂载点
			const el = document.querySelector(vm.$options.el)
			template = el.outerHTML
			vm.$el = el
		}
		// 生成渲染函数
		const render = compileToFunction(template)
		// 将渲染函数挂载到 $options 上
		vm.$options.render = render
		console.log(vm.$options.render)
	}
	mountComponent(vm)
}
